/**
 * 
 */
package spatial.geometry;

/**
 * This BasicShape interface defines a small set of methods a shape in this
 * package must implement. The set of defined methods is a subset of the
 * java.awt.Shape interface.
 * 
 * We do not use the java.awt.Shape interface directly because it defines a
 * getPathIterator() method which we do not need and we do not understand well
 * yet.
 * 
 * @author wu wei
 * 
 */
public interface BasicShape {

	public boolean contains(Location l);

	public boolean contains(Rectangle rec);

	public Rectangle getRectBounds();

	public boolean intersects(Rectangle rec);

	public boolean intersects(Circle c);
	
	public BasicShape deepClone();

}
